#include<bits/stdc++.h>
using namespace std;
int n,ans;
struct node{
int l,r;
}a[200005];
bool cmp(node x,node y){
if(x.r!=y.r)return x.r<y.r;
return x.l<y.l;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
a[i].l=x-y;a[i].r=x+y;
}
sort(a+1,a+n+1,cmp);
int r=-(1<<30);
for(int i=1;i<=n;i++){
if(a[i].l>=r){
ans++;
r=a[i].r;
}
}
cout<<ans;
return 0;
}
501B - Misha and Changing Handles | 1496A - Split it |
1666L - Labyrinth | 1294B - Collecting Packages |
1642B - Power Walking | 1424M - Ancient Language |
600C - Make Palindrome | 1669D - Colorful Stamp |
1669B - Triple | 1669A - Division |
1669H - Maximal AND | 1669E - 2-Letter Strings |
483A - Counterexample | 3C - Tic-tac-toe |
1669F - Eating Candies | 1323B - Count Subrectangles |
991C - Candies | 1463A - Dungeon |
1671D - Insert a Progression | 1671A - String Building |
1671B - Consecutive Points Segment | 1671C - Dolce Vita |
1669G - Fall Down | 4D - Mysterious Present |
1316B - String Modification | 1204A - BowWow and the Timetable |
508B - Anton and currency you all know | 1672A - Log Chopping |
300A - Array | 48D - Permutations |